home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / abicc.z / abicc
Text File  |  1998-10-30  |  18KB  |  397 lines

  1.  
  2.  
  3.  
  4. AAAABBBBIIIICCCCCCCC((((1111))))                                                              AAAABBBBIIIICCCCCCCC((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      abicc - ABI C compiler
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      aaaabbbbiiiicccccccc [ option ] ...  _f_i_l_e ...
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      aaaabbbbiiiicccccccc is a wrapper shell script for cccccccc for compiling MMMMIIIIPPPPSSSS AAAABBBBIIII
  16.      applications.  It translates a common subset of the SVR4 SGS (Software
  17.      Generation System) flags and arguments to those of the native IDO (IRIS
  18.      Development Option).  By the use of this wrapper, applications which link
  19.      "on-site" on a target platform are isolated from having to know the
  20.      details of invoking that platform's compilation system.
  21.  
  22.      aaaabbbbiiiicccccccc also serves to hide the details of constructing an ABI application
  23.      on IRIX.  The details of exactly how the native cccccccc constructs an ABI
  24.      application are not guaranteed to remain unchanged, so aaaabbbbiiiicccccccc should be
  25.      used to compile all ABI-compliant programs to insure portability.
  26.  
  27. OOOOPPPPTTTTIIIIOOOONNNNSSSS
  28.      The following options are recognized by aaaabbbbiiiicccccccc; options which are not
  29.      applicable are (generally) silently ignored.  Further details available
  30.      in the _U_N_I_X _S_y_s_t_e_m _V _R_e_l_e_a_s_e _4 _P_r_o_g_r_a_m_m_e_r'_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l.
  31.  
  32.      ----AAAA  _n_a_m_e[(_t_o_k_e_n_s)]
  33.            controls #assert mechanisms
  34.  
  35.      ----BBBB ssssttttaaaattttiiiicccc
  36.            look only for static archives during link phase
  37.  
  38.      ----BBBB ddddyyyynnnnaaaammmmiiiicccc
  39.            look for DSOs first, then static archives. during link phase
  40.  
  41.      The ----BBBB ssssttttaaaattttiiiicccc and ----BBBB ddddyyyynnnnaaaammmmiiiicccc options serve as toggles and can be
  42.      specified multiple times on a command line.
  43.  
  44.      ----BBBB ssssyyyymmmmbbbboooolllliiiicccc
  45.           when building a shared object, bind references to global symbols to
  46.           their definitions within the object
  47.  
  48.      ----BBBB ssssyyyymmmmbbbboooolllliiiicccc====_n_a_m_e,...
  49.           when creating a DSO, bind references to the named symbols to their
  50.           definitions within the object.  Not supported at at present.
  51.  
  52.      ----BBBB ssssyyyymmmmbbbboooolllliiiicccc____ffffiiiilllleeee====_f_i_l_e_n_a_m_e
  53.           when creating a DSO, the file _f_i_l_e_n_a_m_e contains a list of symbols
  54.           that should be bound to their definitions within the object if there
  55.           is a definition in the object.  Not supported at present.
  56.  
  57.      ----BBBB eeeexxxxppppoooorrrrtttt
  58.           when creating a DSO, indicates that symbols from the next object,
  59.           archive, or DSO are exported from the DSO being created.  This is
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. AAAABBBBIIIICCCCCCCC((((1111))))                                                              AAAABBBBIIIICCCCCCCC((((1111))))
  71.  
  72.  
  73.  
  74.           the default for an object but not for an archive or DSO.
  75.  
  76.      ----BBBB eeeexxxxppppoooorrrrtttt====_n_a_m_e,...
  77.           when creating a DSO, marks the symbols given by the list of _n_a_m_e_s as
  78.           exported.  If any symbols are exported by this mechanism then all
  79.           unspecified symbols will be automatically hidden.  _f_i_l_e_n_a_m_e contains
  80.           a list of symbols that should be exported.  Any symbols not
  81.           specifically exported will be automatically hidden.
  82.  
  83.      ----BBBB eeeexxxxppppoooorrrrttttssss____ffffiiiilllleeee====_f_i_l_e_n_a_m_e
  84.           when creating a DSO, the file given by _f_i_l_e_n_a_m_e contains a list of
  85.           symbols that should be exported.  Any symbols not specifically
  86.           exported will be automatically hidden.
  87.  
  88.      ----BBBB hhhhiiiiddddeeee
  89.           when creating a DSO, indicates that symbols from the next object,
  90.           archive, or DSO are hidden in the DSO being created.  This is the
  91.           default for an archive or DSO but not for an object.
  92.  
  93.      ----BBBB hhhhiiiiddddeeee====_n_a_m_e,...
  94.           when creating a DSO, marks the symbols given by the list of _n_a_m_e_s as
  95.           hidden.  Ignored if any symbols are exported by the
  96.           ----BBBB eeeexxxxppppoooorrrrtttt====_n_a_m_e,...  or ----BBBB eeeexxxxppppoooorrrrttttssss____ffffiiiilllleeee====_f_i_l_e_n_a_m_e options.
  97.  
  98.      ----BBBB hhhhiiiiddddeeeessss____ffffiiiilllleeee====_f_i_l_e_n_a_m_e
  99.           when creating a DSO, the file given by _f_i_l_e_n_a_m_e contains a list of
  100.           symbols that should be hidden.  Ignored if any symbols are exported
  101.           by the ----BBBB eeeexxxxppppoooorrrrtttt====_n_a_m_e,...  or ----BBBB eeeexxxxppppoooorrrrttttssss____ffffiiiilllleeee====ffffiiiilllleeeennnnaaaammmmeeee options.
  102.  
  103.      ----BBBB nnnnoooolllliiiibbbbrrrraaaarrrryyyyrrrreeeeppppllllaaaacccceeeemmmmeeeennnntttt
  104.           Turns on a flag in the dynamic section so that rld does not allow
  105.           execution time or runtime changing of the path (except for super
  106.           user) to find the shared objects. Typically used for security
  107.           purposes on system utilities.
  108.  
  109.      ----BBBB rrrrppppaaaatttthhhh====_P_A_T_H
  110.           _P_A_T_H is a directory.  Specifies the rpath pathname when linking
  111.           ----sssshhhhaaaarrrreeeedddd (an IRIX cc option) or when using the ----GGGG option.  The
  112.           dynamic linker will search the named directory first.
  113.  
  114.  
  115.      ----CCCC   suppresses comment removal when combined with ----PPPP oooorrrr ----EEEE options. Not
  116.           meaningful otherwise.
  117.  
  118.      ----bbbb   This SVR4 option is silently ignored.
  119.  
  120.      ----cccc   suppresses linking phase.
  121.  
  122.      ----DDDD name[=tokens]
  123.           defines _n_a_m_e to the preprocessor, as if by a C-language ####ddddeeeeffffiiiinnnneeee
  124.           directive. If an =_v_a_l_u_e is not given, a value of 1 is used.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. AAAABBBBIIIICCCCCCCC((((1111))))                                                              AAAABBBBIIIICCCCCCCC((((1111))))
  137.  
  138.  
  139.  
  140.      ----dddd yyyy specifies dynamic linking.  This is the default.
  141.  
  142.      ----dddd nnnn specifies static linking.  Statically linked applications are not
  143.           MIPS ABI conforming.
  144.  
  145.      ----EEEE   preprocess only (no compilation or linking).
  146.  
  147.      ----ffff   (obsolete, ignored)
  148.  
  149.      ----GGGG   direct linker to produce shared object.  When using the ----GGGG option,
  150.           one usually also specifies the outfile file name using, ----oooo _f_i_l_e._s_o
  151.           and  the "soname" using, ----WWWWllll,,,,----ssssoooonnnnaaaammmmeeee,,,,_f_i_l_e._s_o
  152.  
  153.      ----gggg   generate symbolic debug information.
  154.  
  155.      ----HHHH   prints include file names as they are processed.  Suppresses
  156.           compilation (the output is much like  the ----EEEE option).
  157.  
  158.      ----IIII _d_i_r
  159.           changes the algorithm for searching for headers whose names are not
  160.           absolute pathnames to look in the directory named by _d_i_r_e_c_t_o_r_y
  161.           before looking in the usual places.  Directories named in ----IIII options
  162.           will be searched in the order specified.
  163.  
  164.      ----JJJJ ssssffffmmmm
  165.           not supported, silently ignored
  166.  
  167.      ----KKKK PPPPIIIICCCC
  168.           generate Position Independent Code.  This is implied on the
  169.           Reference Platform.
  170.  
  171.      ----KKKK uuuucccchhhhaaaarrrr
  172.           The compiler wil treat the _c_h_a_r data type as unsigned.  This is the
  173.           default, as specified in the _M_I_P_S _P_r_o_c_e_s_s_o_r _A_B_I _S_u_p_p_l_e_m_e_n_t .
  174.  
  175.      ----KKKK sssscccchhhhaaaarrrr
  176.           The compiler wil treat the _c_h_a_r data type as signed.
  177.  
  178.      ----KKKK 33332222
  179.           generate a 32-bit object. This is the default.  Defaults to ----KKKK mmmmiiiippppssss1111
  180.           ....
  181.  
  182.      ----KKKK 66664444
  183.           generate a 64bit object.  Defaults to ----KKKK mmmmiiiippppssss3333 ....
  184.  
  185.      ----KKKK mmmmiiiippppssss1111
  186.           generate code using the MIPS I instruction set of the R2000/R3000
  187.           RISC architecture.  Defaults to ----KKKK 33332222 ....
  188.  
  189.      ----KKKK mmmmiiiippppssss2222
  190.           generate code using the MIPS II instruction set (MIPS 1 + R4000
  191.           specific extensions). Defaults to ----KKKK 33332222 ....
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. AAAABBBBIIIICCCCCCCC((((1111))))                                                              AAAABBBBIIIICCCCCCCC((((1111))))
  203.  
  204.  
  205.  
  206.      ----KKKK mmmmiiiippppssss3333
  207.           generate code using the MIPS III (R4000) instruction set.  Defaults
  208.           to ----KKKK 66664444 ....
  209.  
  210.      ----KKKK mmmmiiiippppssss4444
  211.           generate code using the MIPS IV (R10000,R5000,R8000) instruction
  212.           set.  Defaults to ----KKKK 66664444 ....
  213.  
  214.      ----KKKK ffffppppeeee
  215.           not supported, silently ignored
  216.  
  217.      ----KKKK mmmmaaaauuuu
  218.           not supported, silently ignored
  219.  
  220.      ----KKKK ssssdddd
  221.           not supported, silently ignored
  222.  
  223.      ----KKKK sssszzzz
  224.           not supported, silently ignored
  225.  
  226.      ----KKKK mmmmiiiinnnnaaaabbbbiiii
  227.           not necessary; aaaabbbbiiiicccccccc will by definition restrict references to ABI
  228.           references.
  229.  
  230.      ----KKKK xxxxggggooootttt
  231.           generate code for the extended GOT model.  This model is not
  232.           recommended.  Many archives are not available in xgot form.
  233.  
  234.      ----XXXX rrrreeeeaaaaddddwwwwrrrriiiitttteeee____ccccoooonnnnsssstttt
  235.           _c_o_n_s_t data is placed in writable memory.
  236.  
  237.      ----XXXX rrrreeeeaaaaddddoooonnnnllllyyyy____ccccoooonnnnsssstttt
  238.           _c_o_n_s_t data may be placed in readonly memory (this is the default).
  239.           ANSI C says that if an application attempts to write into const data
  240.           the behavior is undefined.
  241.  
  242.      ----XXXX xxxxppppgggg
  243.           directs the compiler to set the global variable ________xxxxppppgggg4444 to 1; this
  244.           indicates that libraries should provide behavior compatible with the
  245.           _X/_O_p_e_n _S_i_n_g_l_e _U_N_I_X(_T_M) _S_p_e_c_i_f_i_c_a_t_i_o_n rather than the default
  246.           traditional behavior where there is a conflict.
  247.  
  248.      ----LLLL  _d_i_r
  249.           controls library search path at linking phase Passed through to lllldddd.
  250.  
  251.      ----llll  _n_a_m_e
  252.           search specified library
  253.  
  254.      ----OOOO   do compilation phase optimization.
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. AAAABBBBIIIICCCCCCCC((((1111))))                                                              AAAABBBBIIIICCCCCCCC((((1111))))
  269.  
  270.  
  271.  
  272.      ----oooo  _p_a_t_h_n_a_m_e
  273.           names output file
  274.  
  275.      ----PPPP   perform only preprocessing on the named _f_i_l_e_s , leaving the result
  276.           on corresponding files suffixed ....iiii.
  277.  
  278.      ----pppp   is no longer supported.  For profiling see _s_p_e_e_d_s_h_o_p(_1). Programs
  279.           with -p profiling generated in them are not ABI conformant:
  280.           profiling should only be done on a development platform.
  281.  
  282.      ----QQQQ nnnn suppresses compiler identification information in the output
  283.           file(s).  Ignored on IRIX.
  284.  
  285.      ----QQQQ yyyy generates compiler identification information in the output file(s).
  286.           Ignored on IRIX.
  287.  
  288.      ----qqqq  _c
  289.           controls generation of profiling code; _c can be llll or pppp.  Ignored on
  290.           IRIX.
  291.  
  292.      ----SSSS   suppress assembly and linking (leaves assembler file).
  293.  
  294.      ----UUUU  _n_a_m_e
  295.           causes specified name to be undefined, as if by a C-language ####uuuunnnnddddeeeeffff
  296.           directive.  ----UUUU takes precedence over ----DDDD ,,,, so if both are present for
  297.           a _n_a_m_e on the command line, _n_a_m_e will not be defined.
  298.  
  299.      ----vvvv   verbose mode.
  300.  
  301.      ----VVVV   prints compiler version information.  Ignored on IRIX.
  302.  
  303.      ----WWWWllll,,,,aaaarrrrgggg[[[[,,,,aaaarrrrgggg2222............]]]]
  304.           passes options directly to the linker. No un-quoted spaces are
  305.           allowed anywhere in this option.
  306.  
  307.      ----XXXX aaaa ANSI compilation mode (default).  Defines __STDC__ to be 1.
  308.  
  309.      ----XXXX cccc ANSI conformance mode.  Defines __STDC__ to be 1.
  310.  
  311.      ----XXXX tttt transition mode.  Does not define __STDC__.
  312.  
  313.      If no ----XXXX option is specified, the default will be ----XXXX aaaa (actually, the
  314.      IRIX ----xxxxaaaannnnssssiiii mode with ABI additions, see NOTE below).  An ABI application
  315.      can not be produced with the ----XXXX tttt mode, as the ABI requires ANSI C.
  316.  
  317.      ----YYYY   not supported, generates a warning message
  318.  
  319. NNNNOOOOTTTTEEEESSSS
  320.      The OPTIONS section above indicates a space character between options and
  321.      option-arguments.  This is in accordance with _X/_O_p_e_n recommendations for
  322.      portable applications.  _a_b_i_c_c also supports placing its option-argument
  323.      in the same string with no space.  If the option-argument is optional, no
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. AAAABBBBIIIICCCCCCCC((((1111))))                                                              AAAABBBBIIIICCCCCCCC((((1111))))
  335.  
  336.  
  337.  
  338.      space is allowed and this is reflected in the OPTIONS section.
  339.  
  340.      The default mode for aaaabbbbiiiicccccccc closely matches the ----xxxxaaaannnnssssiiii mode documented in
  341.      the cccccccc(1111) _m_a_n page. In addition to the defined symbols listed there,
  342.      ____AAAABBBBIIII____SSSSOOOOUUUURRRRCCCCEEEE is defined, the _I_R_I_X _c_c ----GGGG 0000 option is selected, and
  343.      /_u_s_r/_i_n_c_l_u_d_e/_a_b_i is inserted at the front of the standard include path.
  344.      Only /_u_s_r/_l_i_b/_a_b_i is searched for libraries if ----KKKK 33332222.  Only
  345.      /_u_s_r/_l_i_b_6_4/_a_b_i is searched for libraries if ----KKKK 66664444.
  346.  
  347.      ----KKKK 33332222 may only be combined with ----KKKK mmmmiiiippppssss1111 or ----KKKK mmmmiiiippppssss2222 .... ----KKKK 66664444 may only be
  348.      combined with ----KKKK mmmmiiiippppssss3333 or ----KKKK mmmmiiiippppssss4444 ....
  349.  
  350. FFFFIIIILLLLEEEESSSS
  351.      /usr/lib/abi    ABI libraries and configuration files
  352.      /usr/lib/mips2/abi    ABI libraries
  353.      /usr/lib64/abi    ABI libraries
  354.      /usr/lib64/mips3/abi    ABI libraries
  355.      /usr/lib64/mips4/abi    ABI libraries
  356.      /usr/include/abi        special ABI include files
  357.      /usr/lib/abi/setup      abicc setup file
  358.      /usr/lib/abi/sgicc.cfg  IRIX abicc config file
  359.  
  360. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  361.      abild(1), check_abi_compliance(1), check_abi_interface(1),
  362.      check_for_syscalls(1)
  363.      _M_I_P_S _P_r_o_c_e_s_s_o_r _A_B_I _C_o_n_f_o_r_m_a_n_c_e _G_u_i_d_e
  364.      _U_N_I_X _S_y_s_t_e_m _V _R_e_l_e_a_s_e _4 _P_r_o_g_r_a_m_m_e_r'_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l
  365.      http://www.mipsabi.org has the MIPS ABI documents.
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.